Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Nordea Open - Bastad M25 Sion U.S. Open - New York Mallorca Challenger M25 Pozzuoli Davis Cup, Group A, Bologna Alicante Challenger Mouilleron-Le-Captif Challenger Malaga Challenger Stockholm Open - Stockholm Swiss Indoors Basel - Basel Olbia Challenger Guayaquil Challenger Lima 2 Challenger M25 Trnava Montevideo Challenger Danderyd Challenger Manama Challenger Quimper Challenger Davis Cup, World Group, Q, SWE-BRA 1-3 Lugano Challenger Naples Challenger Hamburg Challenger Phoenix Challenger Oeiras 4 Challenger Shenzhen 1 Challenger Wuxi Challenger Taipei Challenger French Open - Paris Heilbronn Challenger Vicenza Challenger Sassuolo Challenger San Marino Challenger Modena Challenger Wimbledon - London Zug Challenger M25 Villeneuve-Loubet M25 Lesa Como Challenger Orleans Challenger Charleston Challenger Tiburon Challenger Mouilleron-Le-Captif Challenger Roanne Challenger Olbia Challenger M25 Trnava M25 Heraklion Matsuyama Challenger M25 Heraklion Kobe Challenger Chennai Challenger St. Tropez Challenger Sao Paulo Challenger Thionville Challenger Oeiras 4 Challenger Grodzisk Mazowiecki Challenger Temuco Challenger Zug Challenger New Delhi Challenger Nonthaburi 3 Challenger Mallorca Championships - Mallorca Francavilla Challenger Rome Challenger Tiriac Open - Bucharest Prague Challenger Tunis Challenger M25 Santa Margherita di Pula Monza Challenger Hamburg Open - Hamburg Gonet Geneva Open - Geneva Heilbronn Challenger M25 Marburg Nordea Open - Bastad San Marino Challenger U.S. Open - New York Porto Challenger M25 Lesa Porto 2 Challenger Orleans Challenger Swiss Indoors Basel - Basel Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Portugal F1 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Great Britain F7 Switzerland F1 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Switzerland F4 Germany F1 Switzerland F1 Switzerland F2 France F9 Italy F11 Switzerland F3 Italy F3 Italy F37 Spain F1 (Manacor) Switzerland F1 (Oberentfelden) Switzerland F2 (Bellevue) Italy F3 (Basiglio) Italy F4 (Sondrio) Italy F8 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) Italy F15 (Reggio Emilia) Italy F16 (Padova) Italy F17 (Bergamo) Austria F2 (Kramsach) Austria F3 (Wels) Switzerland F4 (Neuchatel) Switzerland F5 (Sion) Thailand F7 (Nonthaburi) Thailand F8 (Nonthaburi) Thailand F9 (Pattaya) Greece F9 (Heraklion) Greece F10 (Heraklion) Greece F2 (Heraklion) Greece F3 (Heraklion) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) France F7 (La Grande Motte) Czech Republic F6 (Brno) Morocco F1 (Khemisset) Morocco F2 (Meknes) Italy F24 (Cuneo) Italy F26 (Trieste) Italy F27 (Santa Margherita Di Pula) Tunisia F35 (Monastir) Tunisia F36 (Monastir) Tunisia F37 (Monastir) Estonia F3 (Parnu) Czech Republic F12 (Prague) M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Tel Aviv M15 Reus M25 Santa Margherita Di Pula M25 Angers M25 Vercelli M15 Kaltenkirchen M15 Alkmaar M25 Cuneo M25 Casinalbo M25 Gandia M15 Getafe Madrid M15 Parnu M15 Prague M15 Milovice M15 Heraklion M15 Monastir M15 Monastir M25 Trento M15 Caslano M25 Klosters M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Cairo M15 Cairo M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Trimbach M15 Monastir M15 Monastir M15 Monastir M15 Majadahonda M15 Troisdorf M15 Brcko M15 Genova M15 Bergamo M25 Wroclaw M15 L'Aquila M15 Perugia M25 Muttenz M25 Caslano M25 Sierre M15 Parnu M15 Monastir M15 Ostrava M25 Trento M15 Creteil M15 Poitiers M15 Cairo M15 Cairo M25 Cairo M25 Kalmar M25 Kiseljak M25 Grasse M25 Klosters M25 Muttenz M25 Caslano M25 Sierre M25 Cairo M15 Madrid M15 Opatija M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 Reggio Emilia M25 Mataro M25 Rome M15 Zahra M25 Trento M25 Toulouse-Balma Switzerland F1 M25 Klosters Tunis Challenger M25 Monastir M25 Monastir M25 Reus Italy F28 (Santa Margherita Di Pula) M25 Pozzuoli M25 Roehampton M25 Muttenz M25 Villeneuve-Loubet M25 Klosters M25 Sion Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Como Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Biella Challenger Arad Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Rome Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Rennes Challenger Bratislava Challenger Bangkok Challenger Mohammedia Challenger Budapest Challenger Shanghai Challenger M25 Santa Margherita di Pula Irving Challenger St. Brieuc Challenger Tunis Challenger Aix En Provence Challenger Prostejov Challenger Bastad Challenger Chicago Challenger Cary Challenger Orleans Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Rennes Challenger Phoenix Challenger Alicante Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Biella Challenger Split Challenger Istanbul Challenger Cary Challenger Biella 4 Challenger Marbella Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Lyon Challenger Aix En Provence Challenger Braunschweig Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Biel Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Forli 1 Challenger Biel Challenger Marbella Challenger Lugano Challenger Bordeaux Challenger Troisdorf Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Todi Challenger Verona Challenger Trieste Challenger San Benedetto Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Sibiu Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Coquimbo 2 Challenger Helsinki Challenger Andria Challenger Maia Challenger Tigre 1 Challenger Tigre 2 Challenger Piracicaba Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Szekesfehervar Challenger Sanremo Challenger Roseto Degli Abruzzi Challenger Rome Challenger Split Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo Challenger Orleans Challenger Oeiras 3 Challenger Blois Challenger Cary Challenger Istanbul Challenger Maia Challenger Milan Challenger Fairfield Challenger Bad Waltersdorf Challenger Yokkaichi Challenger Glasgow Challenger Miami Open - Miami Yokohama Challenger Rogers Cup - Toronto Naples Challenger Concepcion Challenger Mouilleron-Le-Captif Challenger Zug Challenger Salzburg Challenger Braga Challenger Asuncion Challenger Todi Challenger Seville Challenger Ostrava Challenger Nonthaburi 2 Challenger Valencia Challenger Australian Open - Melbourne Modena Challenger Lugano Challenger Nottingham Challenger U.S. Open - New York Seoul Challenger Braunschweig Challenger Pune Challenger Szczecin Challenger Tampere Challenger Campinas Challenger Lisbon Challenger Ostrava Challenger Oeiras 5 Challenger Guangzhou Challenger Perugia Challenger Sassuolo Challenger Seville Challenger Cherbourg Challenger Genova Challenger Orlando Challenger Mauthausen Challenger Zadar Challenger Orleans Challenger Salzburg Challenger Seville Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Suisse Open - Gstaad If Stockholm Open - Stockholm Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Intrum Stockholm Open - Stockholm Murray River Open - Melbourne Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Tata Open Maharashtra - Pune Abierto Mexicano Telcel - Acapulco Banja Luka Open - Banja Luka Swiss Open - Gstaad Erste Bank Open - Vienna Hamburg European Open - Hamburg Citi Open - Washington BMW Open - Munich BNP Paribas Nordic Open - Stockholm Qatar ExxonMobil Open - Doha Korea Open - Seoul Grand Prix Hassan II - Marrakech Nordea Open - Bastad EFG Swiss Open - Gstaad Davis Cup, Group A, Bologna BNP Paribas Nordic Open - Stockholm Dubai Duty Free Tennis Championships - Dubai ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Miami Open - Miami French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris BNP Paribas Open - Indian Wells Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Miami Open - Miami Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Internazionali BNL d'Italia - Rome Davis Cup, World Group, Q, SUI-ESP 1-3 Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Australian Open - Melbourne Wimbledon - London Davis Cup, World Group, PO, SWE-BIH 3-1 U.S. Open (juniors) Davis Cup, World Group I, 1R, SUI-PER 4-0 Wimbledon - London Wimbledon (juniors) Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, World Group I, 1R, SWE-IND 4-0